package com.uduew.sjd.api;

import static com.uduew.sjd.config.Const.SUBMIT_DEVICE_INFO;

import androidx.annotation.NonNull;

import com.hjq.http.config.IRequestApi;
import com.hjq.http.config.IRequestBodyStrategy;
import com.hjq.http.config.IRequestType;
import com.hjq.http.model.RequestBodyType;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;


public class SubmitDeviceInfoApi implements IRequestApi, IRequestType {

    private ReqSubmitDeviceInfoBean overripe;

    public SubmitDeviceInfoApi(ReqSubmitDeviceInfoBean overripe) {
        this.overripe = overripe;
    }

    @NonNull
    @Override
    public String getApi() {
        return SUBMIT_DEVICE_INFO;
    }

    /**
     * 获取参数的提交类型
     */
    @NonNull
    @Override
    public IRequestBodyStrategy getBodyType() {
        return RequestBodyType.JSON;
    }

    public static final class ReqSubmitDeviceInfoBean {
        private OpponentBean opponent;
        private LattenBean latten;
        private MonostabtleBean monostabtle;

        private RumshopBean rumshop;
        private FreshnessBean freshness;
        private PapalizeBean papalize;

        private NoncondensingBean noncondensing;
        private ReclusionBean reclusion;
        private SovpreneBean sovprene;
        private List<LocallyBean> locally;

        public void setOpponent(OpponentBean opponent) {
            this.opponent = opponent;
        }

        public void setLatten(LattenBean latten) {
            this.latten = latten;
        }

        public void setMonostabtle(MonostabtleBean monostabtle) {
            this.monostabtle = monostabtle;
        }

        public void setRumshop(RumshopBean rumshop) {
            this.rumshop = rumshop;
        }

        public void setFreshness(FreshnessBean freshness) {
            this.freshness = freshness;
        }

        public void setPapalize(PapalizeBean papalize) {
            this.papalize = papalize;
        }

        public void setNoncondensing(NoncondensingBean noncondensing) {
            this.noncondensing = noncondensing;
        }

        public void setReclusion(ReclusionBean reclusion) {
            this.reclusion = reclusion;
        }

        public void setSovprene(SovpreneBean sovprene) {
            this.sovprene = sovprene;
        }

        public void setLocally(List<LocallyBean> locally) {
            this.locally = locally;
        }

        public static final class OpponentBean {
            private String pullet;
            private String dieselize;
            private String undecorative;
            private String testaceous;
            private String gestalt;
            private String originate;
            private String biostatics;
            private String ghilgai;
            private String provided;
            private String anigh;
            private String saccharine;
            private String pock;
            private String shellfish;

            public OpponentBean(String pullet, String dieselize, String undecorative, String testaceous, String gestalt, String originate, String biostatics, String ghilgai, String provided, String anigh, String saccharine, String pock, String shellfish) {
                this.pullet = pullet;
                this.dieselize = dieselize;
                this.undecorative = undecorative;
                this.testaceous = testaceous;
                this.gestalt = gestalt;
                this.originate = originate;
                this.biostatics = biostatics;
                this.ghilgai = ghilgai;
                this.provided = provided;
                this.anigh = anigh;
                this.saccharine = saccharine;
                this.pock = pock;
                this.shellfish = shellfish;
            }
        }

        public static final class LattenBean {
            private String kymric;
            private String unimolecular;
            private String nurs;
            private String overripe;
            private String litigant;
            private String goosey;
            private String paraplasm;
            private String incretion;
            private String ferrite;
            private String aeriality;
            private String shrub;
            private String sassolite;
            private ArrayList<String> hereditable;

            private String lavalier;
            private String laudable;
            private String addlepate;
            private String tabasco;
            private String linkman;
            private String urawa;
            private String ethamivan;
            private String perlustrate;
            private String latten;
            private String encapsulant;
            private String castrate;
            private String appreciate;
            private long unmarred;
            private long irremovable;
            private long cohesive;
            private long astounding;
            private Map afferent;

            public LattenBean(String kymric, String unimolecular, String nurs, String overripe, String litigant, String goosey, String paraplasm, String incretion, String ferrite, String aeriality, String shrub, String sassolite, ArrayList<String> hereditable, String lavalier, String laudable, String addlepate, String tabasco, String linkman, String urawa, String ethamivan, String perlustrate, String latten, String encapsulant, String castrate, String appreciate, long unmarred, long irremovable, long cohesive, long astounding, Map afferent) {
                this.kymric = kymric;
                this.unimolecular = unimolecular;
                this.nurs = nurs;
                this.overripe = overripe;
                this.litigant = litigant;
                this.goosey = goosey;
                this.paraplasm = paraplasm;
                this.incretion = incretion;
                this.ferrite = ferrite;
                this.aeriality = aeriality;
                this.shrub = shrub;
                this.sassolite = sassolite;
                this.hereditable = hereditable;
                this.lavalier = lavalier;
                this.laudable = laudable;
                this.addlepate = addlepate;
                this.tabasco = tabasco;
                this.linkman = linkman;
                this.urawa = urawa;
                this.ethamivan = ethamivan;
                this.perlustrate = perlustrate;
                this.latten = latten;
                this.encapsulant = encapsulant;
                this.castrate = castrate;
                this.appreciate = appreciate;
                this.unmarred = unmarred;
                this.irremovable = irremovable;
                this.cohesive = cohesive;
                this.astounding = astounding;
                this.afferent = afferent;
            }
        }

        public static final class MonostabtleBean {
            private String promiseful;
            private String vive;
            private String propose;

            public MonostabtleBean(String promiseful, String vive, String propose) {
                this.promiseful = promiseful;
                this.vive = vive;
                this.propose = propose;
            }
        }

        public static final class RumshopBean {
            private String suprahepatic;
            private String narcissus;
            private String ciseaux;
            private String psoas;
            private String tohubohu;
            private String ordinaire;
            private String blind;
            private String ureotelic;

            public RumshopBean(String suprahepatic, String narcissus, String ciseaux, String psoas, String tohubohu, String ordinaire, String blind, String ureotelic) {
                this.suprahepatic = suprahepatic;
                this.narcissus = narcissus;
                this.ciseaux = ciseaux;
                this.psoas = psoas;
                this.tohubohu = tohubohu;
                this.ordinaire = ordinaire;
                this.blind = blind;
                this.ureotelic = ureotelic;
            }
        }

        public static final class FreshnessBean {
            private String lobo;
            private String incretion;
            private boolean supernumerary;
            private String tacharanite;
            private String dualin;
            private boolean uncountable;
            private boolean lumbermill;
            private String disseizin;

            public FreshnessBean(String lobo, String incretion, boolean supernumerary, String tacharanite, String dualin, boolean uncountable, boolean lumbermill, String disseizin) {
                this.lobo = lobo;
                this.incretion = incretion;
                this.supernumerary = supernumerary;
                this.tacharanite = tacharanite;
                this.dualin = dualin;
                this.uncountable = uncountable;
                this.lumbermill = lumbermill;
                this.disseizin = disseizin;
            }
        }

        public static final class PapalizeBean {

            private String vouvray;
            private String nonstriker;
            private String malaysian;
            private String malinois;
            private boolean nejd;
            private boolean msfm;
            private String ethephon;
            private Integer laminate;
            private Integer upsoar;
            private Integer unclose;
            private Float phono;
            private Integer jimjams;
            private Integer bright;
            private Double harpsichork;
            private Double monotreme;
            private Double chirkle;
            private Integer bitterbrush;
            private Integer quad;
            private Long interfirm;
            private Long ginnery;


            public PapalizeBean(String vouvray, String nonstriker, String malaysian, String malinois, boolean nejd, boolean msfm, String ethephon,
                                Integer laminate, Integer upsoar, Integer unclose, Float phono, Integer jimjams, Integer bright, Double harpsichork,
                                Double monotreme, Double chirkle, Integer bitterbrush, Integer quad, Long interfirm, Long ginnery) {
                this.vouvray = vouvray;
                this.nonstriker = nonstriker;
                this.malaysian = malaysian;
                this.malinois = malinois;
                this.nejd = nejd;
                this.msfm = msfm;
                this.ethephon = ethephon;
                this.laminate = laminate;
                this.upsoar = upsoar;
                this.unclose = unclose;
                this.phono = phono;
                this.jimjams = jimjams;
                this.bright = bright;
                this.harpsichork = harpsichork;
                this.monotreme = monotreme;
                this.chirkle = chirkle;
                this.bitterbrush = bitterbrush;
                this.quad = quad;
                this.interfirm = interfirm;
                this.ginnery = ginnery;
            }
        }

        public static final class NoncondensingBean {
            private String mahayana;
            private String bndd;
            private String antennary;
            private String gangboard;
            private String filmscript;
            private String blackbird;
            private RippedBean ripped;

            public NoncondensingBean(RippedBean ripped, String blackbird, String filmscript, String gangboard, String antennary, String bndd, String mahayana) {
                this.ripped = ripped;
                this.blackbird = blackbird;
                this.filmscript = filmscript;
                this.gangboard = gangboard;
                this.antennary = antennary;
                this.bndd = bndd;
                this.mahayana = mahayana;
            }

            public static final class RippedBean {
                private double conferral;
                private double laevogyrate;

                public RippedBean(double conferral, double laevogyrate) {
                    this.conferral = conferral;
                    this.laevogyrate = laevogyrate;
                }
            }

        }

        public static final class ReclusionBean {


            private double unga;
            private boolean tubercula;
            private boolean stethoscopic;
            private boolean granular;

            public ReclusionBean(double unga, boolean tubercula, boolean stethoscopic, boolean granular) {
                this.unga = unga;
                this.tubercula = tubercula;
                this.stethoscopic = stethoscopic;
                this.granular = granular;
            }
        }

        public static final class SovpreneBean {
            private String giglot;
            private String mepacrine;
            private String parisienne;
            private String expiration;
            private String nine;

            public SovpreneBean(String giglot, String mepacrine, String parisienne, String expiration, String nine) {
                this.giglot = giglot;
                this.mepacrine = mepacrine;
                this.parisienne = parisienne;
                this.expiration = expiration;
                this.nine = nine;
            }
        }

        public static final class LocallyBean {
            private String giglot;
            private String mepacrine;
            private String parisienne;
            private String expiration;
            private String nine;

            public LocallyBean(String giglot, String mepacrine, String parisienne, String expiration, String nine) {
                this.giglot = giglot;
                this.mepacrine = mepacrine;
                this.parisienne = parisienne;
                this.expiration = expiration;
                this.nine = nine;
            }
        }
    }


}


